package com.rich.house.utils;

import com.rich.common.entity.TbHouse;
import com.rich.common.entity.TbUser;
import com.rich.house.service.HouseService;
import freemarker.template.Configuration;
import freemarker.template.Template;
import org.springframework.beans.factory.annotation.Autowired;


import java.io.File;
import java.io.PrintWriter;
import java.util.HashMap;

/**
 * @Package: com.rich.house.utils
 * @Author: 张dy
 * @Date: Created in 2021/8/26 下午 3:20
 */
public class FreeMark {


   public void test(TbHouse house) throws Exception{
       //①创建配置对象
       // 注意:这里需要传递一个版本
       Configuration cfg = new Configuration(Configuration.VERSION_2_3_25);
       File f = new File("D:/work/rich_house/rich-house/src/main/resources/templates/freemarker");
       //②读取模板文件夹
       // 设置要加载的模板文件的路径
       cfg.setDirectoryForTemplateLoading(f);
       //③设置模板的编码格式
       cfg.setDefaultEncoding("UTF-8");

       //④获取模板对象
       // hello.ftl是模板名称
       Template template = cfg.getTemplate("index.ftl");

       //⑤创建数据模型(这里使用map类型)  --[数据模型可以是List、Map对象 注意:Map类型的key必须是String类型]
       HashMap<String, Object> map = new HashMap<>(64);
       map.put("house",house);
       //⑥将模板和数据模型合并 --> 输出模板,生成文件
       PrintWriter html = new PrintWriter(new File(f, house.getId()+".html"));
       //合并  map:数据模型  pw:输出流对象
       template.process(map, html);
       html.close();//关闭流
   }


}
